const mysql = require('mysql2/promise');
const dbConfig = require('../config/db.config');
console.log(dbConfig,'dbConfig');

// 创建连接池
const pool = mysql.createPool(dbConfig);

// 包装原始的query方法以添加SQL日志
const originalQuery = pool.query.bind(pool);
pool.query = function(sql, params) {
  // 输出SQL调试信息
  console.log('\n=== 数据库查询日志 ===');
  console.log('时间:', new Date().toISOString());
  console.log('原始SQL:', sql);
  
  if (params && params.length > 0) {
    console.log('查询参数:', params);
    
    // 生成完整的SQL语句（将占位符替换为实际值）
    let completeSql = sql;
    if (Array.isArray(params)) {
      params.forEach((param, index) => {
        const value = typeof param === 'string' ? `'${param}'` : param;
        completeSql = completeSql.replace('?', value);
      });
    }
    console.log('完整SQL:', completeSql);
  } else {
    console.log('无查询参数');
  }
  
  console.log('========================\n');
  
  // 调用原始的query方法
  return originalQuery(sql, params);
};

// 测试数据库连接
pool.getConnection()
  .then(connection => {
    console.log('数据库连接成功');
    connection.release();
  })
  .catch(err => {
    console.error('数据库连接失败:', err);
  });

module.exports = pool;